home *** CD-ROM | disk | FTP | other *** search
-
-
- SORRY GUYS, ONLY GERMAN... BUT THE PROG SHOULD BE SELF-EXPLAINIG
-
- -----------------------------------------------------------------------
- WatchMem V1.5 Usage: Watchmem SIZE/N,DELAY/N
- -----------------------------------------------------------------------
-
- (c) 1995/6/7/8 Daniel `ThunderPig` Rädel/NEUDELSoft
-
-
-
- -----------------------------------------------------------------------
- USING WATCHMEM - die Bedienungsanleitung
- -----------------------------------------------------------------------
-
- Eines gleich vorweg: Wer jetzt noch unter OS 1.x läuft, hat leider
- verloren... WatchMem braucht die erste non-obsolete 2.x Version (V37 =
- Kick 2.04).
- Das Prog öffnet in der rechten oberen Ecke des Screens ein kleines
- Fenster mit fünf Gadgets, zwei Speicheranzeigen und einem Integer-
- Eingabefeld:
-
- _______ __________
- |Reset| |0 |
- ------- ----------
- __________
- Free: |5478532 |
- ----------
- __________
- Size: |25000 |
- ----------
- _______ __________
- |Steal| |Release |
- ------- ----------
- __________
- | More...|
- ----------
-
- Das Feld neben dem `Reset`-Gadget zeigt den Speicherverbrauch seit dem
- letzten Druck auf `Reset` an (positive Zahl: dem System steht mehr
- Speicher zur Verfügung; negativ: es wurde Speicher verbraucht).
- Ein Klick auf `Reset` setzt diesen Zähler auf Null.
- Dadurch kann man z.B. testen, ob Programme nach dem Beenden auch
- wirklich allen reservierten Speicher wieder zurückgeben (`Reset` ->
- Prog laden -> ggfls. etwas rumspielen -> Prog beenden -> Zähler sollte
- Null sein). Hierbei ist allerdings anzumerken, daß das Verschieben
- anderer Windows, Screens, Icons, ... meistens auch eine Änderung des
- Speicherverbrauchs nach sich zieht!
-
- Mit den Gadgets `Steal` und `Release` kann man dem System zusätzlich
- Speicher wegnehmen; `Steal` versucht pro Klick, eine vom User
- definierbare Menge Speicher zu reservieren (siehe Options) und läßt bei
- Nichtgelingen den Screen kurz aufblitzen, `Release` gibt den gesamten
- so gestohlenen Speicher auf einen Schlag wieder frei. Diese Funktion
- kann recht hilfreich sein, wenn man ein Programm unter `erschwerten
- Bedingungen` testen will (Note to WurzelSepp: *DU* wirst damit nicht
- viel anfangen können - was man nicht hat, kann man nicht wegnehmen...
- :^)))) (New Note: okay, okay - aber ich habe immer noch (endlich
- wieder?) 4 Mb mehr als Du (18 :-))
-
- Options:
-
- WatchMem SIZE/N,DELAY/N
-
- SIZE bezieht sich auf die Stealmem-Größe, DELAY auf die Anzahl
- der 1/50 Sekunden, die das Programm warten soll, bis es das
- Display erneuert und nach Messages sucht.
-
- WatchMem kann ohne Argumente gestartet werden, in diesem Fall beträgt
- die Default-Stealmem-Größe 25000 Bytes und das Default-Delay 5.
-
- SIZE muß mindestens 25 Bytes betragen und DELAY darf sich nur
- zwischen 1 und 5000 bewegen (wird beides von WatchMem nachjustiert).
-
- *ODER*:
-
- Ab V1.1 kann man auch die ToolTypes der Icons mißbrauchen:
- Einfach SIZE=<Wert>, DELAY=<Wert>, LEFT=<Wert>, TOP=<Wert>
- (LEFT und TOP beziehen sich auf die Koordinaten, an denen das Fenster
- geöffnet werden soll) angeben und los geht's...
- Dank an Denis Unger, der sich dieses Feature gewünscht hat.
-
- Das in V1.4 neu hinzugekommene Gadget (`More`) öffnet ein
- Auswahlfenster, in dem die Art des Speichers, der gestohlen werden
- soll (Chip, Fast, Any), ausgesucht und eine grafische
- Speicherdarstellung (`gfx win`) selektiert werden kann. Weiterhin
- kann man hier die Anzeige in ebendiesem Grafikfenster
- (selbsterklärend, denke ich: Pendant einer Fieberkurve) wählen; es
- stehen eine relative (Default) und eine absolute Darstellung zur
- Wahl (`rel gfx`).
- Der kleine Unterschied: Während im absoluten Modus der momentan
- freie Speicher im Verhältnis zum gesamten angezeigt wird (Kurve ganz
- oben = null Mem-Verbrauch; ganz unten = kein freier Speicher mehr
- da), orientiert sich die relative Weise am Textfeld neben dem
- `Reset`-Gadget: Positive Werte werden in schwarz nach oben
- gezeichnet, negative dagegen in rot nach unten.
- Hm, bevor ich noch mehr Anstrengungen unternehme, etwas zu erklären,
- was eigentlich jedem klar sein sollte, bitte ich ganz einfach, die
- Funktionen doch einmal auszuprobieren :)
- Ab Version 1.4c (die Ihr hiermit mindestens in den Händen bzw. im Speicher
- haltet) kann noch die Scrollbedingung für dieses Fenster eingestellt werden:
- Default ist das altbekannte Scrollen nach `DELAY` ticks; neu hinzu-
- gekommen ist die Möglichkeit, nur nach Speicheränderungen (> 10 K bzw.
- > 100 K) zu scrollen.
- Zum guten Schluß gibt es hier jetzt (V1.5) noch eine 'Sleep'-CheckBox. Wird
- diese selektiert, zeigt WatchMem nur noch den aktuellen Speicher an; Das
- GfxWin sowie die relative Nullposition des Speichers werden nicht mehr
- verändert ('Steal' und 'Release' gehen auch nicht mehr). Wird 'Sleep' wieder
- ausgeschaltet, ist alles wie zuvor. [Option gewünscht von Jens G.]
-
- -----------------------------------------------------------------------
- NOTES - some notes on the prog
- -----------------------------------------------------------------------
-
- Mit einer Größe von 14588 Bytes (Turboimploded: 5888 Bytes) ist
- WatchMem eindeutig den klein-aber-oho-Tools zuzuordnen; eigentlich
- sollte niemand auf dieses extrem nützliche Programm verzichten (so
- viel Platz muß sein!). Ich kenne jedenfalls kein kleineres,
- fontsensitiveres, bedienerfreundlicheres, besseres (?),... Prog mit
- diesen Funktionen :-)
-
- WatchMem ist komplett in E geschrieben, den Sourcecode kann ich leider
- nicht mitliefern, da ich vor kurzem unter einem fatalen System-
- zusammenbruch zu leiden hatte, dem auch meine HardDisk zum Opfer
- fiel (Verlust fast aller Daten :-((((
- Aber weil Denis Unger sich eine verbesserte Version gewünscht hat,
- habe ich einfach nochmal angefangen. Herausgekommen ist ein Programm,
- das nur geringfügig länger ist als das 'Original' und dafür doch um
- einiges mehr kann :)
-
- Zur Speicherreservierung und -freigabe benutzt WatchMem die Funktionen
- AllocRemember() und FreeRemember()
- Wenn AllocRemember() nicht funktioniert hat (z.B. weil kein Speicher
- mehr da ist), wird ein DisplayBeep() ausgegeben.
-
- Es sollte vielleicht noch beachtet werden, daß auch WatchMem ein wenig
- Speicher braucht, wenn die Gadgets betätigt werden - frag' nicht
- mich, frag' die Pfannkuchen! (Dann iß' doch Müller Milchreis...)
- -> Ist so `ne Intuition-Angelegenheit. Jedenfalls sollten diese
- Bytes beim Prüfen von Programmen in Betracht gezogen werden (am
- besten nach Aufruf von WatchMem als erstes den Reset-Button drücken)
-
- Für die Gadgetverwaltung wird die gadtools.library herangezogen
-
- Daß WatchMem nicht unbedingt auf den WBenchScreen angewiesen ist,
- sollte sich von selbst verstehen, oder?
-
- Anregungen, Bugreports, Kritik,... sind/ist sehr gern gesehen - Ad
- siehe unten
-
- Das gute Wort zum Schluß: Dies ist mein erstes Programm in E - laßt
- Nachsicht walten!
-
- -----------------------------------------------------------------------
- DISCLAIMER - wie immer...
- -----------------------------------------------------------------------
-
- Ich übernehme keinerlei Verantwortung für irgendwelche negativen Dinge,
- die direkt oder indirekt auf die Benutzung von WatchMem zurückzuführen
- sind (sollte jemand aus Wut, daß wegen Watchmen der Comp abgestürzt
- ist, seine Schwester erstechen, daraufhin verhaftet und in eine
- geschlossene Anstalt eingeliefert werden, so ist das ein PAL (=Problem
- anderer Leute) und geht mich demzufolge auch nichts an).
-
- WatchMem ist freely distributable, also frei kopier- und benutzbar;
- Bedingung ist allerdings, daß mit WatchMem kein Geld verdient wird (->
- Preis pro Disk <=DM 5.-), daß WatchMem nur zusammen mit dieser
- Anleitung weitergegeben wird und daß WatchMem und die Anleitung *nur
- unmodifiziert* weiterverbreitet wird (!).
- Auf CD-ROMs darf WatchMem selbstverständlich auch erscheinen, solange
- es sich dabei um Sammlungen nichtkommerzieller Software handelt.
-
- Bei Aufnahme in eine eigene Serie gelten oben genannte Bedingungen;
- ein Belegexemplar an den Autor (Anschrift s.u.) ist Pflicht (CD-ROMs:
- hier tut es auch eine Nachricht; wer zuviel Geld hat, kann mir
- natürlich auch die CD schicken =:-).
-
- ...natürlich darf WatchMem auch in nichtkommerzielle Datennetze geladen
- werden (Z.B. Aminet)...
-
-
- -----------------------------------------------------------------------
- AUTHOR - Ad des Autors
- -----------------------------------------------------------------------
-
- Daniel Rädel Daniel Rädel
- Margaretenstraße 52/2 Fuchslöcherstraße 28
- 88045 Friedrichshafen 07749 Jena
- 07541/21477 mobile phone 03641/445856
- 0172/9986254
- (-> Mom's ad ;-) (-> Term ad)
-
- email: p5dara@rz.uni-jena.de (nicht während Semesterferien)
- thunder@mipool.uni-jena.de [alive agin!]
- draedel@intershop.de [preferred - da bin ich fast täglich...]
-
- -----------------------------------------------------------------------
- GREETINX - hm, was das wohl sein mag...
- -----------------------------------------------------------------------
-
- WurzelSepp (YES, it IS font sensitive - the next step is NEUDELHTML :),
- Simon(e), PopelPaul, Shocker, Jutta F. Sonne, Chris Hodges, Wouter van
- Oortmerssen (`E' is *great*!), A.Göpel (auch wenn Du `ne DOSe hast :(,
- Katja, Waterfles (`Nanne` Juliane), Sepp (wie geht's dem Golf?),
- (EX-)Infox-Crew, Denis Unger (endlich `mal einer, der Resonanz zeigt!),
- Rainer Müller (dito), Jens Granseuer (dito :) ... and everyone I forgot
-
- -----------------------------------------------------------------------
- HISTORY - äußerst wichtige Fakten rund um WatchMem ;)
- -----------------------------------------------------------------------
-
- 120995 - Während der Spätschicht meines Semesterferienjobs kommt
- mir der Gedanke, daß ich endlich ausprobieren sollte, ob
- ich in der Lage bin, korrekt fontsensitiv zu programmieren;
- außerdem habe ich Wouter van Oortmerssens's `E' noch nicht
- so richtig ausgetestet. Da ich die Vollversion noch nicht
- bestellt habe (Anm.: *jetzt* schon :), muß das Programm
- also unter der 8K-Grenze liegen...
-
- 130995 - Wieder Spätschicht; erste Gedanken an WatchMem dringen an
- die Oberfläche meines Bewußtseins.
-
- 140995 - Nach der Arbeit begebe ich mich an den Amiga und führe
- einige Experimente mit textfont- und textattr.-Strukturen
- durch.
- V0.1 - WatchMem benutzt die Maße des Default-Textfonts für die
- Gadgets, schreibt dann aber mit dem Screenfont hinein :(
-
- 150995 - Ich sitze noch immer am Computer und wundere mich...
-
- 150995 - Wochenende! Das muß gefeiert werden - natürlich mit einer
- großen Portion Rom Kernel Manual :-)
- Aha, falsche Font-Übergabe...so, jetzt sollte alles laufen.
- Zeit für...
- V1.0 - ...die erste veröffentlichte Version!
-
- 160995 - Was soll ich bloß in die Anleitung schreiben???
-
- 250796 - Ich erinnere mich wieder dunkel an Denis und beginne
- mit der Arbeit an Version 1.1
-
- 260796 - So, fertig. Nur 404 Bytes mehr =:-))))
- Dafür versteht WatchMem jetzt ein bißchen `was von
- tooltypes; außerdem kann der geneigte User auch das
- niegelnagelneue Integer-Eingabefeld im Window benutzen...
- V1.1 - all new source code!
-
- 210996 - Durch einen Bug in der GadToolsBox wurden zuviele IDCMP-
- Flags gesetzt; diese verlangsamten WatchMem zum einen
- und fraßen zum anderen auch noch Speicher (fixed!). Außer-
- dem benutze ich jetzt auch die IntuiTicks zum Erneuern
- des Fensterinhaltes (auch wenn es lächerlich ist, alle
- 1/10 Sekunde nach dem Speicher zu fragen...); dadurch
- verkürzte sich der Code um sagenhafte 8 Bytes auf 5172.
- V1.2 - BugFix
-
- 161096 - F#*k! Die GadtoolsBox hat doch tatsächlich immer nach dem
- `Workbench`-PubScreen gesucht und nicht nach dem Default-
- PubScreen! Das hat man davon, wenn man den Code nicht
- Stück für Stück von Hand schreibt... >:-(
- Neue Option eingebaut: Da mir die IntuiTicks entschieden
- zu viel Performance gekostet haben, habe ich die Delay-
- Option ins Leben gerufen. Jetzt kann sich jeder selbst
- aussuchen, wie sehr er sein System bremsen möchte...
- Das Message-Handling habe ich auch noch etwas optimiert.
- Leider wurde WatchMem jetzt wieder etwas länger: 5304 Bytes
- (bzw. 3024 turbo-imploded).
- V1.3 - BugFix (no more bugs now...:)
-
- 210197 - Beschwingt durch das Lob von Rainer Müller bekomme ich
- und Lust, noch ein paar Funktionen einzubauen; dabei fällt
- 040297 mir ein weiterer (dummer) Fehler auf, der natürlich sofort
- korrigiert wurde: Wenn in den ToolTypes für die Koordinaten
- jeweils Null eingegeben wurde, so öffnete sich das Fenster
- wie gewohnt rechts oben auf dem Monitor :(
- Die neuen Funktionen umfassen die Wahl der Speicherart, die
- gestohlen werden soll, sowie ein neckisches Fenster, das
- den Speicherverbrauch in Form einer Fieberkurve darstellt.
- Rainer hat mich außerdem darauf aufmerksam gemacht, daß
- da etwas mit Proportionalfonts nicht so ganz richtig
- läuft (Thanx!)
- V1.4 - BugFix & new features ( 12704/5212 Bytes)
-
- 130997 Über ein halbes Jahr ist es her, daß ich den Comp das
- letzte Mal eingeschaltet habe :-(
- Zeit für ein paar kleine Änderungen an WatchMem!
- V1.4c - BugFix & new feature (13252/5328 Bytes)
-
- 07.11.97 Dank Jens Granseuer konnte ein weiterer kleiner Fehler
- eliminiert werden (nur für User interessant, die nicht
- über V39+ verfügten): Das Gfx-Win benutzte ObtainBestPenA(),
- um zwei schöne Farben für die `Fieberkurve` zu selektieren.
- Das schicke schwarz-rote Aussehen derselben bleibt jetzt den
- V39+-Usern vorbehalten, der Rest bekommt gnadenlos die
- WB-Farben 1 und 2 `reingedrückt... >:-)
- V1.4d - BugFix (13800/5512 Bytes)
-
- 25.04.98 Oops! Da war doch tatsächlich noch ein Fehler in der V37-
- Unterstützung...
- Ansonsten habe ich auch endlich die Enforcer-Hits, die Rainer
- Müller schon lange beanstandet hat, gefunden [Rainer: Sorry,
- das es so lange gedauert hat :-(]
- Jens hat sich auch wieder gemeldet und sich eine Sleep-Option
- gewünscht (ich hoffe so, wie ich sie implementiert habe)
- [Jens: Wozu ist das überhaupt nötig? Kann WatchMem nicht einfach
- so weiterlaufen? Egal, jetzt ist es drin ;-)].
- V1.5 - BugFix & new features (14588/5888 Bytes)
-
-
- -----------------------------------------------------------------------
-
- EOF.
-